package com.joysuch.wwyt.risk.service;

import com.joysuch.wwyt.core.bean.SimpleSelectListBean;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import com.joysuch.wwyt.risk.bean.*;
import com.joysuch.wwyt.risk.entity.*;
import com.joysuch.wwyt.risk.entity.dto.RiskDynamicConfigDto;
import com.joysuch.wwyt.risk.entity.vo.RiskDynamicConfigBatchSaveVo;

import java.util.List;

public interface RiskEvaluationTempleService {

    RiskEvaluationControl editSwitchState(String name, Integer state);

    List<RiskEvaluationControlBean> getControlList();

    void saveCorrectionRuleList(List<RiskEvaluationCorrectionRuleBean> listBean);

    List<RiskEvaluationCorrectionRuleBean> getCorrectionRuleList();

    void deleteCorrectionRule(Long id);

    RiskEvaluationListField saveListField(RiskEvaluationListFieldBean bean);

    void deleteListField(Long id);

    List<RiskEvaluationListFieldBean> getFieldList();

    void editFieldOrder(Long upId, Long downId);

    RiskEvaluationAnalyzeWay saveAnalyzeWay(RiskEvaluationAnalyzeWayBean bean);

    RiskEvaluationAnalyzeWayBean findAnalyzeWay(Long id);

    void deleteAnalyzeWay(Long id);

    List<SimpleSelectListBean> getAllAnalyzeWay(Integer analyzeType);

    RiskEvaluationAnalyzeWay editWayRelation(Long analyzeId, Long evaluationId);

    void saveEvaluetionTarget(List<RiskEvaluationTargetTypeBean> list);

    ResultBean getTargetList(Long methodId);

    List<SimpleSelectListBean> getSelectFieldList();

    /**
     * 保存动态风险配置信息
     *
     * @param vo
     * @return
     */
    List<RiskDynamicConfig> dynamicRiskSave(RiskDynamicConfigBatchSaveVo vo);

    /**
     * 查看动态风险配置信息
     *
     * @return
     */
    List<RiskDynamicConfigDto> getDynamicConfig();

    void deleteDynamicConfigById(Long id);

   List<RiskDyncmicOptionTypeBean> getFormJsonByProcessId(Long processId);

   RiskEvaluationControl getRiskEvControlFromRedis();
}
